package com.daji.concurrency.multithread_lock;

/*
    从Java 5开始，引入了一个高级的处理并发的java.util.concurrent包，它提供了大量更高级的并发功能，能大大简化多线程程序的编写。

    我们知道Java语言直接提供了synchronized关键字用于加锁，但这种锁一是很重，二是获取时必须一直等待，没有额外的尝试机制。

    java.util.concurrent.locks包提供的ReentrantLock用于替代synchronized加锁
* */
public class C01_ReentrantLock {
    /*
         没什么好演示的，因为就是synchronized的替代而已。。。。。

         看这篇文章吧：https://www.liaoxuefeng.com/wiki/1252599548343744/1306580960149538
         这篇也很好：https://blog.csdn.net/wojiao228925661/article/details/100113830

         它还有一个condition对象，作用相当于wait和notify：
         Condition condition = lock.newCondition();
         condition.await();
         condition.signalAll();

         以后遇到ReentrantLock 和 Condition 其实就是synchronized和wait，notify等等

         它的好处就是比synchronized关键字灵活，更轻便。
    */

}
